const userModel = require('../db/user')
const bcryptjs = require('bcryptjs')
module.exports = {
    register(req, res) {  // 注册
        // 接收post数据
        let {username, password, email, tel} = req.body
        // console.log(username, password);
        // 验证数据是否为空
        if(!username || !password) {
            res.json({
                error_code: 2,
                msg: '数据不允许为空！'
            })
            return
        }
        // 查询是否有这个用户名
        userModel.findOne({username}, (err, docs) => {
            if(err) {
                throw new Error(err)
            }
            if(docs) {
                res.json({
                    error_code: 1,
                    msg: '用户名被占用！'
                })
                return
            }
            userModel.insertMany({
                username,
                password: bcryptjs.hashSync(password, 10),
                email,
                tel
            }, (err, docs) => {
                if(err) {
                    throw new Error(err)
                }
                res.json({
                    error_code: 0,
                    msg: '注册成功！'
                })
            })
        })
        // res.send('注册')
    },
    login(req, res) { // 登录
        // 接收post数据
        let {username, password} = req.body
        // // console.log(username, password);
        // // 验证数据是否为空
        if(!username || !password) {
            res.json({
                error_code: 2,
                msg: '账号或密码不允许为空！'
            })
            return
        }
        // // 用username做条件查询数据中这个用户的数据
        userModel.findOne({username}, (err, docs) => {
            if(err) {
                res.json({
                    error_code: 2,
                    msg: '登录失败！'
                })
                return
            }
            // 是否查到数据
            if(!docs) {
                res.json({
                    error_code: 1,
                    msg: '账号错误！'
                })
                return
            }
            // 查询到数据了  -  验证密码
            if(bcryptjs.compareSync(password, docs.password)) {
                res.json({
                    error_code: 0,
                    msg: '登录成功！'
                })
                return
            }
            res.json({
                error_code: 3,
                msg: '密码错误！'
            })
        })
        // res.send('登录')
    }
}

// 注册连接：http://localhost:11279/front/api/users/register
// 登录连接：http://localhost:11279/front/api/users/login